package com.mycompany.project.client;

import marketplace.objects.ServicioBO;

import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.MenuBar;
import com.google.gwt.user.client.ui.MenuItem;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.MenuItemSeparator;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.ClickEvent;

public class PanelServicios extends Composite {
	private ListBox comboBox;
	private ListBox listBox;
	private TextArea textArea;
	private Image image;
	private ListBox listBox_1;
	
	public PanelServicios() {
		
		Inicio inic = Inicio.darInstancia();
		inic.darServicios();
		
		AbsolutePanel absolutePanel = new AbsolutePanel();
		initWidget(absolutePanel);
		absolutePanel.setSize("600px", "334px");
		
		MenuBar menuBar = new MenuBar(false);
		absolutePanel.add(menuBar, 10, 10);
		menuBar.setSize("662px", "19px");
		
		MenuItem mntmNewItem = new MenuItem("Login", false, new Command() {
			public void execute() {
				PanelLogin login = new PanelLogin();
				login.show();
				login.setPopupPosition(100, 100);
			}					
			
		});
		menuBar.addItem(mntmNewItem);
		
		MenuItemSeparator separator = new MenuItemSeparator();
		menuBar.addSeparator(separator);
		
		MenuItem mntmRegistrarse = new MenuItem("Registrarse", false,  new Command() {
			public void execute() {
				Registro panelRegistro = new Registro();
				panelRegistro.show();			
				panelRegistro.setPopupPosition(100, 100);
				
			}
		});
		menuBar.addItem(mntmRegistrarse);
		
		MenuItemSeparator separator_1 = new MenuItemSeparator();
		menuBar.addSeparator(separator_1);
		
		MenuItem mntmBandejaDeEntrada = new MenuItem("Bandeja de entrada", false, (Command) null);
		mntmBandejaDeEntrada.setEnabled(false);
		menuBar.addItem(mntmBandejaDeEntrada);
		
		MenuItemSeparator separator_2 = new MenuItemSeparator();
		menuBar.addSeparator(separator_2);
		
		MenuItem mntmMiCuenta = new MenuItem("Mi cuenta", false,  new Command() {
			public void execute() {
				Inicio inic = Inicio.darInstancia();
				inic.abrirMiCuenta();				
			}
		});
		menuBar.addItem(mntmMiCuenta);
		
		MenuItemSeparator separator_3 = new MenuItemSeparator();
		menuBar.addSeparator(separator_3);
		
		MenuItem mntmCarritoDeCompras = new MenuItem("Carrito de compras", false,new Command() {
			public void execute() {
				Inicio inic = Inicio.darInstancia();
				inic.abrirCarritoCompra();				
			}
		});
		menuBar.addItem(mntmCarritoDeCompras);
		
		MenuItemSeparator separator_4 = new MenuItemSeparator();
		menuBar.addSeparator(separator_4);
		
		MenuItem mntmInicio = new MenuItem("Inicio", false, new Command() {
			public void execute() {
				Inicio inic = Inicio.darInstancia();
				inic.rootPanel.clear();
				inic.onModuleLoad();
			}
		});
		menuBar.addItem(mntmInicio);
		
		comboBox = new ListBox();
		String[] categorias = inic.darCriterio();
		
		for (int i = 0; i < categorias.length; i++) {
			comboBox.addItem(categorias[i]);
		}
		absolutePanel.add(comboBox, 10, 37);
		
		listBox = new ListBox();
		listBox.setMultipleSelect(true);
		String[] criterios = inic.darCategorias();		
		for (int i = 0; i < criterios.length; i++) {
			listBox.addItem(criterios[i]);
		}
		absolutePanel.add(listBox, 107, 37);
		listBox.setSize("128px", "132px");
		listBox.setVisibleItemCount(5);
		
		Button btnBuscar = new Button("Buscar");
		absolutePanel.add(btnBuscar, 10, 69);
		btnBuscar.setWidth("90px");
		
		listBox_1 = new ListBox();
		listBox_1.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent arg0) {
				int n = listBox_1.getSelectedIndex();
				Inicio inic = Inicio.darInstancia();
				ServicioBO ser = inic.buscarServicioCriterio("nombre",listBox_1.getItemText(n));
				textArea.setText("Nombre: "+ser.getNombre()+ "/n/r"+ "Precio: "+ser.getPrecio()+"/n/r"+"Proveedor: "+ser.getProveedor()+"/n/r"+ser.getDescripcion());
			}
		});
		
		//todos los servicios 
		ServicioBO[] servicios1 = inic.getServiciosAlimentacion();
		ServicioBO[] servicios2 = inic.getServiosAlojamiento();
		ServicioBO[] servicios3 = inic.getServiciosTour();
		
		for (int i = 0; i < servicios1.length; i++) {
			listBox_1.addItem(servicios1[i].getNombre());
		}
		for (int i = 0; i < servicios2.length; i++) {
			listBox_1.addItem(servicios2[i].getNombre());
		}
		for (int i = 0; i < servicios3.length; i++) {
			listBox_1.addItem(servicios3[i].getNombre());
		}
		absolutePanel.add(listBox_1, 255, 52);
		listBox_1.setSize("290px", "113px");
		listBox_1.setVisibleItemCount(5);
		
		Label lblServicios = new Label("Servicios");
		absolutePanel.add(lblServicios, 255, 37);
		
		textArea = new TextArea();
		absolutePanel.add(textArea, 10, 197);
		textArea.setSize("423px", "116px");
		
		image = new Image((String) null);
		absolutePanel.add(image, 445, 197);
		image.setSize("107px", "122px");
		
		Button btnComprar = new Button("Comprar");
		btnComprar.setText("agregar al carrito ");
		absolutePanel.add(btnComprar, 10, 99);
		btnComprar.setWidth("90px");
		
		Button btnProveedor = new Button("Proveedor");
		btnProveedor.setEnabled(false);
		absolutePanel.add(btnProveedor, 10, 145);
		btnProveedor.setWidth("90px");
		
		Label lblDescripcion = new Label("Descripcion");
		absolutePanel.add(lblDescripcion, 10, 175);
		lblDescripcion.setSize("58px", "16px");
	}
}
